MySQL টেবিল যোগদান
তাদের মধ্যে সংশ্লিষ্ট কলামের উপর ভিত্তি করে দুই বা ততোধিক টেবিল থেকে সারি যোগ করতে একটি JOIN ক্লাস ব্যবহার করা হয়।
আসুন "অর্ডার" টেবিল থেকে একটি নির্বাচন দেখি:
| OrderID | CustomerID | OrderDate |
|---|---|---|
| 10308 | 2 | 1996-09-18 |
| 10309 | 37 | 1996-09-19 |
| 10310 | 77 | 1996-09-20 |
তারপর, আসুন "গ্রাহক" টেবিল থেকে একটি নির্বাচন দেখি:
| CustomerID | CustomerName | ContactName | Country |
|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Germany |
| 2 | Ana Trujillo Emparedados y helados | Ana Trujillo | Mexico |
| 3 | Antonio Moreno Taquería | Antonio Moreno | Mexico |
মনে রাখবেন যে "অর্ডার" টেবিলের "CustomerID" কলামটি "গ্রাহক" টেবিলের "CustomerID" কে নির্দেশ করে। উপরের দুটি টেবিলের মধ্যে সম্পর্ক হল "CustomerID" কলাম।
তারপর, আমরা নিম্নলিখিত এসকিউএল স্টেটমেন্ট তৈরি করতে পারি (একটি অভ্যন্তরীণ যোগদান ধারণ করে) যা উভয় টেবিলে মিলে যাওয়া মান সহ রেকর্ড নির্বাচন করে:
SELECT Orders.OrderID, Customers.CustomerName, Orders.OrderDate
FROM Orders
INNER JOIN Customers ON Orders.CustomerID=Customers.CustomerID;
এটি এই মত কিছু তৈরি করবে:
| OrderID | CustomerName | OrderDate |
|---|---|---|
| 10308 | Ana Trujillo Emparedados y helados | 9/18/1996 |
| 10365 | Antonio Moreno Taquería | 11/27/1996 |
| 10383 | Around the Horn | 12/16/1996 |
| 10355 | Around the Horn | 11/15/1996 |
| 10278 | Berglunds snabbköp | 8/12/1996 |
মাইএসকিউএল-এ সমর্থিত যোগদানের ধরন
INNER JOIN
উভয় টেবিলে মিলে যাওয়া মান সহ রেকর্ড ফেরত দেয়
LEFT JOIN
বাম টেবিল থেকে সমস্ত রেকর্ড এবং ডান টেবিল থেকে মিলে যাওয়া রেকর্ড ফেরত দেয়
RIGHT JOIN
ডান টেবিল থেকে সমস্ত রেকর্ড এবং বাম টেবিল থেকে মিলে যাওয়া রেকর্ড ফেরত দেয়
CROSS JOIN
উভয় টেবিল থেকে সমস্ত রেকর্ড ফেরত দেয়
মাইএসকিউএল যোগদানের ধরন:
- MySQL INNER JOIN:শুধুমাত্র সাধারণ রেকর্ড দেখায়
- MySQL LEFT JOIN:বাম টেবিলের সমস্ত রেকর্ড প্রদর্শন করে
- MySQL RIGHT JOIN:সঠিক টেবিলের সমস্ত রেকর্ড দেখায়
- MySQL CROSS JOIN:সব সম্ভাব্য সংযোগ দেখায়